package com.shujia.scala

import java.io.File

import scala.io.Source

object Demo20implicit {

  def main(args: Array[String]): Unit = {

    /**
      * 隐式转换
      *
      * 1、隐式转换方法
      * 2、隐式转换变量
      * 3、隐式转换类
      *
      *
      * 给对象动态增加新的方法
      *
      */

    //3、隐式转换类
    val file = new File("scala/data/words.txt")

    val lines = Source.fromFile(file).getLines().toList


    //file 被隐式转换成了Read
    val data = file.read()


  }

  //隐式转换类
  implicit class Read(file: File) {

    def read() = {
      Source.fromFile(file).getLines().toList
    }

  }

}



